package com.csii.modules.system.model;

import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.TableField;
import com.csii.autopoi.poi.excel.annotation.Excel;
import com.csii.core.annotation.Dict;
import org.springframework.format.annotation.DateTimeFormat;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;

import lombok.Data;

/**
 * @Description: 用户通告阅读标记表
 * @Author: power-stdio
 * @Date:  2019-02-21
 * @Version: V1.0
 */
@Data
public class AnnouncementSendModel implements Serializable {
    private static final long serialVersionUID = 1L;

	/**
	 * id
	 */
	private java.lang.String id;

	/**
	 * 标题
	 */
	@Excel(name = "标题", width = 15)
	private java.lang.String title;
	/**
	 * 内容
	 */
	@Excel(name = "内容", width = 30)
	private java.lang.String msgContent;
	/**
	 * 开始时间
	 */
	@Excel(name = "开始时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private java.util.Date startTime;
	/**
	 * 结束时间
	 */
	@Excel(name = "结束时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private java.util.Date endTime;
	/**
	 * 发布人
	 */
	@Excel(name = "发布人", width = 15)
	private java.lang.String sender;
	/**
	 * 优先级（L低，M中，H高）
	 */
	@Excel(name = "优先级", width = 15, dicCode = "priority")
	@Dict(dicCode = "priority")
	private java.lang.String priority;

	/**
	 * 消息类型
	 */
	@Excel(name = "消息类型", width = 15, dicCode = "msg_category")
	@Dict(dicCode = "msg_category")
	private java.lang.String msgCategory;

	private String msgCategoryName;
	/**
	 * 通告对象类型（USER:指定用户，ALL:全体用户）
	 */
	@Excel(name = "通告对象类型", width = 15, dicCode = "msg_type")
	@Dict(dicCode = "msg_type")
	private java.lang.String msgType;
	/**
	 * 发布状态（0未发布，1已发布，2已撤销）
	 */
	@Excel(name = "发布状态", width = 15, dicCode = "send_status")
	@Dict(dicCode = "send_status")
	private java.lang.String sendStatus;
	/**
	 * 发布时间
	 */
	@Excel(name = "发布时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private java.util.Date sendTime;
	/**
	 * 撤销时间
	 */
	@Excel(name = "撤销时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private java.util.Date cancelTime;
	/**
	 * 创建人
	 */
	private java.lang.String createBy;
	/**
	 * 创建时间
	 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private java.util.Date createTime;
	/**
	 * 更新人
	 */
	private java.lang.String updateBy;
	/**
	 * 更新时间
	 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private java.util.Date updateTime;
	/**
	 * 指定用户
	 **/
	private java.lang.String userIds;
	/**
	 * 打开方式 组件：component 路由：url
	 */
	private java.lang.String openType;
	/**
	 * 组件/路由 地址
	 */
	private java.lang.String openPage;
	/**
	 * 摘要/副标题
	 */
	private java.lang.String msgAbstract;
	/**
	 * 按钮文字
	 */
	private String mainButton;

	/**
	 * 是否@我
	 */
	private Boolean callMe;
	/**
	 * 是否已读
	 */
	private String readFlag;

	private String userId;
	/**
	 * 消息发送id
	 */
	private String sendId;
}
